package com.service.base.generator.app.service;

import com.service.base.generator.app.model.DbConfig;
import com.service.base.generator.app.model.TableInfo;

import java.util.List;

/**
 * 数据库中表的元数据相关处理服务
 *
 * @author wangyongkun
 * @create 2020/12/13
 */
public interface DbTableInfoService {
    /**
     * 获取数据库中所有表信息
     *
     * @return
     */
    List<TableInfo> getAllTables(DbConfig dbConfig);

    /**
     * 保存表备注
     *
     * @param tableInfo 表信息
     * @param dbConfig  配置信息
     */
    void saveTableComment(TableInfo tableInfo, DbConfig dbConfig);

    /**
     * 获取表中所有列
     *
     * @param tableName 表名称
     * @param dbConfig  配置信息
     * @return
     */
    TableInfo getAllColumns(String tableName, DbConfig dbConfig);

    /**
     * 测试连接
     *
     * @param dbConfig 配置信息
     * @return
     */
    String testConnection(DbConfig dbConfig);
}
